package net.realsee.domain.wcs.intf;

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import net.realsee.framework.core.domain.BaseEntity;

import java.util.Date;

/**
 * 接口管理对象 wcs_intf
 *
 * @author realsee
 * @date 2023-08-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("wcs_intf")
public class WcsIntf extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 目标系统
     */
    private String appCode;

    /**
     * 代码
     */
    private String interfaceCode;

    /**
     * 类别
     */
    private String interfaceClass;

    /**
     * 接口名称
     */
    private String interfaceName;

    /**
     * 接口描述
     */
    private String interfaceDesc;

    /**
     * 接口类型
     */
    private String interfaceType;

    /**
     * 方法
     */
    private String method;

    /**
     * 方法地址
     */
    private String url;

    /**
     * 作业代码
     */
    private String operationCode;

    /**
     * 是否记录日志1:是,0:否
     */
    private String isRecord;

    /**
     * 是否允许重试1:是,0:否
     */
    private String allowRetry;

    /**
     * 重试机制
     */
    private String retryType;

    /**
     * 最大重试次数
     */
    private Long maxRetry;

    /**
     * 认证方式
     */
    private String authType;

    /**
     * 认证内容
     */
    private String authData;

    /**
     * 超时时长(毫秒)
     */
    private Long timeoutTime;

    /**
     * 接口参数
     */
    private String atteParam;

    /**
     * 数据行唯一标识
     */
    private String fuid;

    /**
     * 描述
     */
    private Long textId;

    /**
     * 参考数据
     */
    private Long refrenceId;

    /**
     * 特性
     */
    private Long unitId;

    /**
     * 删除人
     */
    private String deleteBy;

    /**
     * 删除时间
     */
    private Date deleteTime;

    /**
     * 行版本标识
     */
    private Long rowVersionStamp;

    /**
     * 备注
     */
    private String remark;

    public Boolean isRetry() {
        return StrUtil.equals("1", this.allowRetry);
    }

    public Boolean isRecord() {
        return StrUtil.equals("1", this.isRecord);
    }

}
